home *** CD-ROM | disk | FTP | other *** search
- package asp.wizard;
-
- import asp.netobjects.nfx.util.ExceptionHandler;
- import asp.netobjects.nfx.util.ExternalError;
- import asp.netobjects.nfx.util.InternalError;
- import asp.netobjects.nfx.wizard.Wizard;
- import asp.netobjects.nfx.wizard.WizardPage;
- import asp.netobjects.nfx.wizard.WizardPageView;
- import asp.util.ResourceUtil;
- import asp.wizard.def.DefAbstract;
- import asp.wizard.def.DefCollection;
- import asp.wizard.def.DefDynaField;
- import asp.wizard.def.DefLabel;
- import asp.wizard.def.DefPage;
- import asp.wizard.def.DefQuery;
- import asp.wizard.def.DefTextArea;
- import asp.wizard.def.DefTextBox;
- import asp.wizard.util.UiUtil;
- import com.sun.java.swing.DefaultListModel;
- import com.sun.java.swing.ImageIcon;
- import com.sun.java.swing.table.DefaultTableModel;
- import java.sql.ResultSet;
- import java.text.MessageFormat;
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class WizardModelDbDetail extends WizardModelAbstract {
- public static final String ERR_MISSING_VALUE = "msg.error.missing_value";
- public static final String ERR_NO_DYNAFIELD = "msg.error.nodynafield";
- public static final String OPT_CONTROL_TYPES = "option.control_types";
- public static final String OPT_DATATYPE = "option.datatype";
- public static final String VLU_FONT = "value.font";
- public static final String ERR_CATEGORY = "error.category";
- private boolean _showQuery = false;
- // $FF: synthetic field
- static Class class$asp$wizard$def$DefDynaField;
- // $FF: synthetic field
- static Class class$asp$wizard$WVPanelDbDetail;
- // $FF: synthetic field
- static Class class$asp$nfx$MSDBDynaField$MSDBDynaField;
-
- public void commit() throws InternalError, ExternalError {
- WizardViewDbDetail view = (WizardViewDbDetail)((WizardPage)this).getView();
- DefPage defPage = ((WizardModelAbstract)this).getDefPage();
- this.removeAllDynafields(defPage);
- Vector dataTypes = this.getDataTypes();
- DefaultTableModel DFCollection = view.getDynafields();
-
- for(int i = 0; i < DFCollection.getRowCount(); ++i) {
- this.addDynafield(DFCollection.getValueAt(i, 0).toString(), dataTypes.indexOf(DFCollection.getValueAt(i, 1).toString()), DFCollection.getValueAt(i, 2).toString());
- }
-
- }
-
- public void loadValues() {
- WizardViewDbDetail view = (WizardViewDbDetail)((WizardPage)this).getView();
- DefaultTableModel DFCollection = view.getDynafields();
- DefPage defPage = ((WizardModelAbstract)this).getDefPage();
- Vector elemVect = ((DefCollection)defPage).getElements(class$asp$wizard$def$DefDynaField != null ? class$asp$wizard$def$DefDynaField : (class$asp$wizard$def$DefDynaField = class$("asp.wizard.def.DefDynaField")));
- Vector dataTypes = this.getDataTypes();
- Vector controlTypes = this.getControlTypes();
- Vector controlTypesClasses = this.getControlTypeClasses();
-
- while(DFCollection.getRowCount() > 0) {
- DFCollection.removeRow(0);
- }
-
- Enumeration e = elemVect.elements();
-
- while(e.hasMoreElements()) {
- DefDynaField _DefDynaField = (DefDynaField)e.nextElement();
- int ctlIndex = controlTypesClasses.indexOf(_DefDynaField.getClass().getName());
- Object[] data = new Object[]{_DefDynaField.getDataField(), dataTypes.elementAt(_DefDynaField.getDataType()), controlTypes.elementAt(ctlIndex)};
- DFCollection.addRow(data);
- }
-
- }
-
- public void loadView() {
- WizardViewDbDetail view = (WizardViewDbDetail)((WizardPage)this).getView();
- view.setControlType(this.getControlTypes());
- view.setDataType(this.getDataTypes());
- DefaultTableModel tm = (DefaultTableModel)view.getFieldSpecTable().getModel();
- DefaultListModel lm = (DefaultListModel)view.getFieldList().getModel();
- DefQuery defQuery = this.getDefQuery();
- if (defQuery != null) {
- lm.setSize(0);
-
- try {
- WizDbManager.getFields(defQuery, false, lm);
- } catch (EWizDbManager e) {
- AspWizardExceptionHandler.showMessage(0, ((Throwable)e).getMessage());
- }
- }
-
- this.loadValues();
- UiUtil.validateTableAgainstList(tm, lm, 0);
- }
-
- public void validate() throws InternalError, ExternalError {
- super.validate();
- DefQuery defQuery = this.getDefQuery();
- WizardViewDbDetail view = (WizardViewDbDetail)((WizardPage)this).getView();
- DefaultTableModel DFCollection = view.getDynafields();
- if (DFCollection.getRowCount() < 1) {
- String msg = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbDetail != null ? class$asp$wizard$WVPanelDbDetail : (class$asp$wizard$WVPanelDbDetail = class$("asp.wizard.WVPanelDbDetail")), "msg.error.nodynafield");
- throw new EWizardModelExt(msg);
- } else {
- for(int i = 0; i < DFCollection.getRowCount(); ++i) {
- if (DFCollection.getValueAt(i, 0).toString().length() == 0 || DFCollection.getValueAt(i, 1).toString().length() == 0 || DFCollection.getValueAt(i, 2).toString().length() == 0) {
- String err = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbDetail != null ? class$asp$wizard$WVPanelDbDetail : (class$asp$wizard$WVPanelDbDetail = class$("asp.wizard.WVPanelDbDetail")), "msg.error.missing_value");
- Object[] args = new Object[]{new Integer(i + 1)};
- String msg = MessageFormat.format(err, args);
- throw new ExternalError(msg);
- }
- }
-
- }
- }
-
- public void removeAllDynafields(DefPage pgDef) {
- Vector elemVect = ((DefCollection)pgDef).getElements((new DefDynaField()).getClass());
- Enumeration e = elemVect.elements();
-
- while(e.hasMoreElements()) {
- ((DefCollection)pgDef).removeElement((DefAbstract)e.nextElement());
- }
-
- }
-
- public void addDynafield(String Field, int DataType, String CtlType) {
- Vector controlType = this.getControlTypes();
- if (controlType.indexOf(CtlType) == 0) {
- this.addTextbox(Field, DataType);
- }
-
- if (controlType.indexOf(CtlType) == 1) {
- this.addTextarea(Field, DataType);
- }
-
- if (controlType.indexOf(CtlType) == 2) {
- this.addLabel(Field, DataType);
- }
-
- }
-
- public void addTextbox(String Field, int DataType) {
- DefTextBox _DefDynaField = new DefTextBox();
- ((DefAbstract)_DefDynaField).setDefQuery(this.getDefQuery());
- ((DefDynaField)_DefDynaField).setDefaultValue("");
- ((DefDynaField)_DefDynaField).setDataField(Field);
- ((DefDynaField)_DefDynaField).setDataType(DataType);
- ((DefDynaField)_DefDynaField).setUseDefaultValue(1);
- ((DefDynaField)_DefDynaField).setUseQuery(0);
- ((DefDynaField)_DefDynaField).setLabelText(Field);
- _DefDynaField.setVisibleLength(20);
- _DefDynaField.setMaxLength(20);
- String name = ((WizardModelAbstract)this).getDefPage().getUniqueNameFor(_DefDynaField);
- ((DefAbstract)_DefDynaField).setName(name);
- ((WizardModelAbstract)this).getDefPage().addElement(_DefDynaField);
- }
-
- public void addTextarea(String Field, int DataType) {
- DefTextArea _DefDynaField = new DefTextArea();
- ((DefAbstract)_DefDynaField).setDefQuery(this.getDefQuery());
- ((DefDynaField)_DefDynaField).setDefaultValue("");
- ((DefDynaField)_DefDynaField).setDataField(Field);
- ((DefDynaField)_DefDynaField).setDataType(DataType);
- ((DefDynaField)_DefDynaField).setUseDefaultValue(1);
- ((DefDynaField)_DefDynaField).setUseQuery(0);
- ((DefDynaField)_DefDynaField).setLabelText(Field);
- _DefDynaField.setVisibleLength(20);
- _DefDynaField.setMaxLength(20);
- _DefDynaField.setVisibleHeight(3);
- String name = ((WizardModelAbstract)this).getDefPage().getUniqueNameFor(_DefDynaField);
- ((DefAbstract)_DefDynaField).setName(name);
- ((WizardModelAbstract)this).getDefPage().addElement(_DefDynaField);
- }
-
- public void addLabel(String Field, int DataType) {
- DefLabel _DefDynaField = new DefLabel();
- ((DefAbstract)_DefDynaField).setDefQuery(this.getDefQuery());
- ((DefDynaField)_DefDynaField).setDefaultValue("");
- ((DefDynaField)_DefDynaField).setDataField(Field);
- ((DefDynaField)_DefDynaField).setDataType(DataType);
- ((DefDynaField)_DefDynaField).setUseDefaultValue(1);
- ((DefDynaField)_DefDynaField).setUseQuery(0);
- ((DefDynaField)_DefDynaField).setLabelText(Field);
- _DefDynaField.setFont(ResourceUtil.getResourceString("asp.nfx.res", class$asp$nfx$MSDBDynaField$MSDBDynaField != null ? class$asp$nfx$MSDBDynaField$MSDBDynaField : (class$asp$nfx$MSDBDynaField$MSDBDynaField = class$("asp.nfx.MSDBDynaField.MSDBDynaField")), "value.font"));
- _DefDynaField.setBold(1);
- _DefDynaField.setItalic(1);
- _DefDynaField.setUnderline(1);
- _DefDynaField.setColor(0);
- _DefDynaField.setSize(2);
- String name = ((WizardModelAbstract)this).getDefPage().getUniqueNameFor(_DefDynaField);
- ((DefAbstract)_DefDynaField).setName(name);
- ((WizardModelAbstract)this).getDefPage().addElement(_DefDynaField);
- }
-
- private DefQuery getDefQuery() {
- DefQuery result = null;
- WizardManager wm = ((WizardModelAbstract)this).getWizardManager();
- if (wm != null) {
- result = wm.getDefQuery(this);
- } else {
- System.err.println("WizardManager not found");
- }
-
- return result;
- }
-
- protected String getQueryDataType(String fieldName) {
- String result = "";
- ResultSet rs = null;
- DefQuery defQuery = this.getDefQuery();
- if (defQuery != null) {
- int DBType = -1;
-
- try {
- DBType = WizDbManager.getDBTypes(defQuery, fieldName);
- } catch (EWizDbManager e) {
- AspWizardExceptionHandler.showMessage(0, ((Throwable)e).getMessage());
- }
-
- String reserveWord = WizDbManager.getDataTypeName(DBType);
- Vector internalDataTypes = WizDbManager.getInternalDataTypes();
- Vector dataTypes = this.getDataTypes();
- result = dataTypes.elementAt(internalDataTypes.indexOf(reserveWord)).toString();
- }
-
- return result;
- }
-
- public WizardModelDbDetail() {
- }
-
- public WizardModelDbDetail(Wizard wizard, String bullet, String info, ImageIcon icon, ExceptionHandler handler) {
- super(wizard, bullet, info, icon, handler);
- }
-
- protected WizardPageView getViewSingleInstance() {
- return WizardViewDbDetail.getInstance();
- }
-
- public WizardPage getNext() throws InternalError, ExternalError {
- WizardPage next = super.getNext();
- WizardManager wm = ((WizardModelAbstract)this).getWizardManager();
- int nextSeqTemplateId = 2;
- if (next == null) {
- wm.addSequence(this, this, (DefPage)null, nextSeqTemplateId, (DefPage)null);
- next = super.getNext();
- }
-
- return next;
- }
-
- public Vector getDataTypes() {
- String test = ResourceUtil.getResourceString("asp.nfx.res", class$asp$nfx$MSDBDynaField$MSDBDynaField != null ? class$asp$nfx$MSDBDynaField$MSDBDynaField : (class$asp$nfx$MSDBDynaField$MSDBDynaField = class$("asp.nfx.MSDBDynaField.MSDBDynaField")), "option.datatype");
- Vector result = UiUtil.strToVector(test);
- return result;
- }
-
- public Vector getControlTypes() {
- String test = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WVPanelDbDetail != null ? class$asp$wizard$WVPanelDbDetail : (class$asp$wizard$WVPanelDbDetail = class$("asp.wizard.WVPanelDbDetail")), "option.control_types");
- Vector result = UiUtil.strToVector(test);
- return result;
- }
-
- public Vector getControlTypeClasses() {
- String test = "asp.wizard.def.DefTextBox|asp.wizard.def.DefTextArea|asp.wizard.def.DefLabel";
- Vector result = UiUtil.strToVector(test);
- return result;
- }
-
- public void setShowQuery(boolean value) {
- this._showQuery = value;
- }
-
- public boolean getShowQuery() {
- return this._showQuery;
- }
-
- public void gotoWizardModelDbQuery() {
- WizardManager wm = ((WizardModelAbstract)this).getWizardManager();
- wm.setModelSkippingEnabled(false);
-
- try {
- ((Wizard)wm).previousPage();
- } catch (Throwable e) {
- if (((Wizard)wm).getExceptionHandler() != null) {
- super.dmWizard.getExceptionHandler().handleException(e);
- }
- } finally {
- wm.setModelSkippingEnabled(true);
- }
-
- }
-
- // $FF: synthetic method
- static Class class$(String class$) {
- try {
- return Class.forName(class$);
- } catch (ClassNotFoundException forName) {
- throw new NoClassDefFoundError(((Throwable)forName).getMessage());
- }
- }
- }
-